/**
 *	插件:上传文件中心
 *	开发者：雨中磐石
 *	地址：www.rockoa.com
 *	日期：2023-07-19
 */


package com.framework.Chajian;



import com.framerock.db.DBConn;
import com.framerock.server.Response;
import com.framerock.baselib.CallBack;
import com.framerock.baselib.Json;
import com.framerock.baselib.Rock;
import com.framerock.baselib.RockHttp;
import com.framerock.baselib.Xinhu;
import com.framework.ACore.Chajian;

public class Chajianrockfile extends Chajian {

    private String url = "",key;

    public Chajianrockfile(DBConn dbs) {
        super(dbs);
    }

    public static Chajianrockfile obj(DBConn dbs)
    {
        return new Chajianrockfile(dbs);
    }

    /***
     * 上传文件中心信息
     */
    public String getInfo()
    {
        url = Xinhu.getVal(this.nDb, "rockfile_url");
        key = Xinhu.getVal(this.nDb, "rockfile_key");

        if(Rock.isEmpt(url) || Rock.isEmpt(key))return "";
        Json json = new Json();
        json.putVal("url", url);
        json.putVal("key", key);
        return json.getJson();
    }

    /**
     * 文件地址
     * */
    public String geturl()
    {
        String url;
        url = Xinhu.getVal(this.nDb, "rockfile_url");
        return url;
    }

    /**
     * 访问地址
     * @param m 控制器
     * @param a 方法
     * @param params 参数
     * */
    public String get(String m, String a, String params)
    {
        if(Rock.isEmpt(this.url))this.getInfo();
        String dz   = this.url+"api.php?m="+m+"&a="+a+"";
        dz  += "&agentkey="+this.key+"";
        final String[] result = {""};
        RockHttp.sendurl(dz,"GET",params, new CallBack(){
            @Override
            public void backhttp(int code, int arg1, String bstr) {
                result[0] = bstr;
            }
        });
        String cont = result[0];
        if(Rock.isEmpt(cont))return Response.returnError("http error not cont");
        if(!Json.isJson(cont))return Response.returnError(cont);
        return cont;
    }

    /**
     * 上传文件信息
     * @param fnum 文件编号
     * @param lx 类型0预览，1下载，2编辑
     * @return 返回信息
     * */
    public String info(String fnum, String lx)
    {
        return this.get("upload", "fileinfo", "fnum="+fnum+"&lx="+lx+"");
    }

    /**
     * 删除文件
     * @param fnum 文件编号
     */
    public void del(String fnum)
    {
        this.get("upload", "filedel", "nums="+fnum+"");
    }
}
